home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / akcl1615.lha / h / hp300.h < prev    next >
C/C++ Source or Header  |  1991-06-13  |  3KB  |  153 lines

  1. #define HPUX
  2. #define HP
  3.   
  4. #include "bsd.h"
  5. #undef RUN_PROCESS
  6. #undef WANT_VALLOC
  7.   /* uses sigvector instead of sigvec.   Could alternately
  8.      link with -lbsd */
  9. #define sigvec sigvector  
  10. /* does not have getpagesize() */
  11. #include "mc68k.h"
  12.  
  13. /*
  14. #define SBRK(n) \
  15.   (printf("sbrk(%x)=%x",n,FIXtemp=sbrk(n)),fflush(stdout),FIXtemp)
  16.  
  17. #define BRK(n) \
  18.   (printf("brk(%x)=%x",n,FIXtemp=brk(n)),fflush(stdout),FIXtemp)
  19. */
  20.   
  21. /* #undef SFASL */
  22.  
  23.   /* since we do brk of the whole thing we use a smaller number */
  24.  
  25. /*
  26. #undef MAXPAGE
  27. #define MAXPAGE 10000
  28. */
  29.  
  30. #define ADDITIONAL_FEATURES \
  31.              ADD_FEATURE("HP9000-300"); \
  32.                       ADD_FEATURE("MC68020"); \
  33.     ADD_FEATURE("HP-UX");
  34.  
  35.  
  36. /*
  37. #define USE_C_EXTENDED_MUL
  38. #define USE_C_EXTENDED_DIV
  39. */
  40.  
  41. #define DATA_BEGIN (char *)N_DATADDR(header)
  42.  
  43. #define RELOC_FILE "rel_hp300.c"
  44.  
  45. #define    IEEEFLOAT
  46.  
  47. #define reloc r_info
  48.  
  49. #define N_RELOFF(hdr) RTEXT_OFFSET(hdr)
  50. #define N_SYMOFF(hdr) LESYM_OFFSET(hdr)
  51. #define N_TXTOFF(hdr) TEXT_OFFSET(hdr)
  52.  
  53. /* #undef cs_check */
  54.  
  55. #undef SET_REAL_MAXPAGE
  56. #define SET_REAL_MAXPAGE real_maxpage = MAXPAGE
  57.  
  58.  
  59. /*
  60. #undef INIT_ALLOC
  61. #define INIT_ALLOC     if (BRK(pagetochar(MAXPAGE)) < 0) \
  62.         error("Can't allocate.  Good-bye!.");
  63. */
  64.  
  65. #define SEEK_TO_END_OFILE(fp) \
  66.   do{struct exec header; \
  67.      fseek(fp,0,0); \
  68.      fread(&header, sizeof(header), 1, fp); \
  69.      fseek(fp,RDATA_OFFSET(header)+header.a_drsize,0); \
  70.      }while(0)
  71.  
  72. /* have the getcwd command */
  73.  
  74. #define GETCWD
  75.  
  76. /* note gabor used the att ldirectory... maybe bsd is ok?? */
  77.  
  78. #undef LD_COMMAND
  79.  
  80. /*   This is for pre 6.01 hpux, you need to create .stb file
  81. #define LD_COMMAND(command,main,start,input,ldarg,output) \
  82.   sprintf(command,"ld -o %s -N -x -R %x %s %s.stb %s",  \
  83.            output,start,input, main,ldarg)
  84.  
  85. */
  86.   
  87. #define LD_COMMAND(command,main,start,input,ldarg,output) \
  88.   sprintf(command, "ld -d -N -x -A %s -R %x %s %s -o %s", \
  89.        main,start,input,ldarg,output)
  90.  
  91.  
  92.  
  93.  
  94. /*
  95. #define    SIGNED_CHAR  
  96. #define    REGISTER_VAR
  97. #define    BYTE_ADDRESS
  98. #define    CORE_STARTS_NEAR_0
  99. #undef    DOWN_STACK
  100. #undef    REVERSE_PARAMETER_ORDER
  101. #undef    CC_OPTIMIZES_TEST  
  102. #define    UNIX
  103. #undef    BSD
  104. #define    HPUX
  105. #undef    ATT
  106. #define    ALLOCATE_INCREMENTALLY
  107. #define    ALLOW_FORK
  108.  
  109. */
  110.  
  111. #undef DATA_BEGIN
  112. #define DATA_BEGIN \
  113.   ((char *) (header.a_magic.file_type == SHARE_MAGIC || \
  114.             header.a_magic.file_type == DEMAND_MAGIC) ? \
  115.             EXEC_ALIGN(header.a_text) : \
  116.             header.a_text)
  117.  
  118. #undef   FILECPY_HEADER
  119. #define FILECPY_HEADER \
  120.     if (header.a_magic.file_type == DEMAND_MAGIC) \
  121.         {filecpy(save, original, EXEC_PAGESIZE - sizeof(header)); \
  122.            filecpy(save, original, EXEC_ALIGN(header.a_text));} \
  123.         else \
  124.     filecpy(save, original, header.a_text);
  125.  
  126. #undef COPY_TO_SAVE
  127. #define  COPY_TO_SAVE \
  128.     fseek(save, MODCAL_OFFSET(header), 0); \
  129.     header.a_data = original_data; \
  130.     fseek(original, MODCAL_OFFSET(header), 0); \
  131.     filecpy(save, original,  \
  132.         header.a_pasint+ \
  133.         header.a_lesyms+ \
  134.         header.a_dnttsize+header.a_sltsize+header.a_vtsize+ \
  135.         header.a_trsize+header.a_drsize)
  136.  
  137. /* use #include <fcntl.h> */
  138.  
  139. #define HAVE_FCNTL
  140.  
  141. #define RSYM_AUX "../c/rel_hp300.c"
  142.  
  143.  
  144. #define FIX_BSS     sym->n_type = N_BSS; \
  145.            val = (val + 3) & ~3;
  146.  
  147. #define PRIVATE_FASLINK
  148.  
  149. /* Begin for cmpinclude */
  150.  
  151.  
  152. /* End for cmpinclude */
  153.